/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Estacionamento.ClassesBasicas;

/**
 *
 * @author Italo Valença
 */
import javax.persistence.*;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

@Entity
public class Veiculo {

    @Id
    @GeneratedValue
    private long id;
    private String nome, marca, placa;
    private TipoVeiculo tipoVeiculo;
    @OneToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "id_cliente", insertable = true, updatable = true)
    @Fetch(FetchMode.JOIN)
    @Cascade(CascadeType.ALL)
    private Cliente cliente;

    public Veiculo(long id, String nome, String marca, String placa,
            TipoVeiculo tipoVeiculo) {
        super();
        this.id = id;
        this.nome = nome;
        this.marca = marca;
        this.placa = placa;
        this.tipoVeiculo = tipoVeiculo;
    }

    public Veiculo() {
        // TODO Auto-generated constructor stub
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public TipoVeiculo getTipoVeiculo() {
        return tipoVeiculo;
    }

    public void setTipoVeiculo(TipoVeiculo tipoVeiculo) {
        this.tipoVeiculo = tipoVeiculo;
    }

    public String getPlaca() {
        return placa;
    }

    public void setPlaca(String placa) {
        this.placa = placa;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getMarca() {
        return marca;
    }

    public void setMarca(String marca) {
        this.marca = marca;
    }

    @Override
    public String toString() {
        return "Veiculos [id=" + id + ", nome=" + nome + ", marca=" + marca
                + ", placa=" + placa + ", tipoVeiculo=" + tipoVeiculo + "]";
    }

}
